package com.limf.demo.pattern.component;

import java.math.BigDecimal;

/**
 * 豆浆调料类（继承自CondimentDecorator）
 * @author limf
 */
public class Soy extends CondimentDecorator {

	/**
	 * 用一个实例变量记录饮料，也就是被装饰者
	 */
	Beverage beverage;
	
	/**
	 * 构造器初始化饮料变量
	 */
	public Soy(Beverage beverage) {
		this.beverage = beverage;
	}
	/**
	 * 在原来饮料的基础上添加上Soy描述（原来的饮料加入Soy调料，被Soy调料装饰）
	 */
	@Override
	public String getDescription() {
		// TODO Auto-generated method stub
		return this.beverage.getDescription() + ", Soy";
	}

	/**
	 * 在原来饮料的基础上加上Soy的价格（原来的饮料加入Soy调料，被Soy调料装饰）
	 */
	@Override
	public BigDecimal cost() {
		// TODO Auto-generated method stub
		return new BigDecimal("0.3").add(this.beverage.cost());
	}
}
